OSC 2018 Kyoto K*BUGブースのウラ話
https://gyazo.com/1f2d2e487865fe8e17887defb13f81bc
2018年8月4日(土) OSC 2018 Kyoto
関西*BSDユーザ会研究会番外編
むとうたけし@関西*BSDユーザ会 (@610t) 今回のK*BUGブース展示
むとう
ご贈答箱クラスタ(evbarm & aarch64)
RetroBSD/LiteBSD
Scratch/Squeakやら電子工作やら ごめんなさい、スペースの都合で、ほとんど展示していません(_O_)
中村さん
NVIDIA Jetson TK1でCUDA
INDIやASCOMによる天文観測
ご贈答箱クラスタ (evbarm & aarch64)
https://gyazo.com/8d91ed4746017342f18da01ce5fdacb6
箱の中身で、前回 (AsiaBSDCon 2017)から変わったところ
Raspberry Pi 2Bを外して、Orange Pi ZeroとNanoPi NEOを追加 (7台構成)
新たに、aarch64(64bit arm)のRaspberry Pi 3BとNanoPi NEO2の箱を用意
distccで、pkgsrcを分散コンパイルする
色々な方法で、loadavgを出してみよう
LED loadavg: ボードのLEDで点滅表示
$ t_{interval}=e^{-loadavg}
code: loadavg.sh
while true
do
INTERVAL=uptime|awk '{print $(NF-2)}'|sed -e 's/,//'|sed -e 's/^/e(-/' -e 's/$/)/'|bc -l
echo ${INTERVAL}
echo 1 > /dev/led/ACT #FreeBSD Raspberry Pi # sysctl -qw hw.led.ACT=1 #NetBSD Raspberry Pi # sysctl -qw hw.led.orangepi_red_status=1 #NetBSD Orange Pi Zero # sysctl -qw hw.led.nanopi_blue_status=1 #NetBSD NanoPi NEO # gpioctl -q gpio1 ${l} 1 # 21<=l<=24 #OpenBSD BeagleBone Black sleep ${INTERVAL}
echo 0 > /dev/led/ACT
sleep ${INTERVAL}
done
BBBは、4つのユーザLEDを使ってloadavg表示
table: arm 32bit マシン一覧
マシン名 OS デモ内容
Raspberry Pi(RPI) B FreeBSD GPIO LCD loadavg
RPI 2B NetBSD distcc head
RPI 0W NetBSD Blinkt!
BeagleBone Black OpenBSD 4x LED loadavg
Banana Pi RaspBSD (FreeBSD) LED loadavg
NanoPi NEO NetBSD LED loadavg
Orange Pi Zero NetBSD LED loadavg
(C.H.I.P.) NetBSD
(PocketC.H.I.P.) (NetBSD)
(Netwalker) NetBSD
()はご贈答箱に入っていないもの
table: arm 64bitマシン一覧
マシン名 OS デモ内容
RPI3 NetBSD Blinkt!
NanoPi NEO2 NetBSD GPIO LED flash
(RPI3+) NetBSD
(Jetson TX1) NetBSD
()はご贈答箱に入っていないもの
ウラ話
おそらく熱で止まってしまう子達がいる
しばしば、fsckが必要など、シリアルが必要な落ちかたするので困まる
電源が足りるかヒヤヒヤ
内蔵LEDとGPIO番号の対応がわからないものも…
gpioctl(8) で操作するときに困る
sysctl(8) で操作できるLEDもある
FreeBSDは、echo 1 > /dev/led/ACTとかデバイスが生えるものも
今は、取りあえず手元では動いています
PocketC.H.I.P.も動かしたかったけど、手元のkernelではダメだった
参考文献
RetroBSD/LiteBSD
https://gyazo.com/04d48a0ac37b9c0a69c757802087aa37
PICマイコンで、BSD!!
MMUが無いので、プロセススイッチは全部スワップイン&アウト
GPIO/ADC/SPI LCDが利用可能
LED, 可変抵抗(ジョイスティック含む)、CdSでデモ
GPIO/Ethernetが利用可能
LED、内蔵スイッチでデモ
ウラ話
なぜかLiteBSDのGPIOが期待通りに動かない (番号違いの同じアルファベットのポートが一斉に動く)
RetroBSDで、大量のパイプを使ったシェルスクリプト使うと不安定
GPIO/ADCを使うなら、現状LiteBSDより、Cで作ってRetroBSDの方が良さそう
NVIDIA Jetson TK1でCUDA & INDIやASCOMによる天文観測 by 中村さん
https://gyazo.com/419f14cbdc326a3468c8076c6d866e79
INDIやASCOMによる天文観測
ウラ話
Head Mount Displayを使ったVRデモもできるけど、HDMIのDRMチェック回避ワザを忘れた
INDIなどは対応デバイスが少ないので、BSDで使える対応デバイスを出したい
本当は、Jetson TX1も並ぶ予定だった
Scratch/Squeakやら電子工作やら
ごめんなさい、スペースの都合で、ほとんど展示していません(_O_)
https://gyazo.com/eb62a809b597e4df93871cd7587e3dae
Scratch+ESP8266: Arduino+WiFi
http://qml.610t.org/FreeBSD/ScratchBSD.files/ESP8266-Scratch.png
Scratch+Android: Physical Sensor for Scratch
http://qml.610t.org/FreeBSD/ScratchBSD.files/PhysicalSensor4Scratch.png
Scratch+micro:bit: Python+Serial
http://qml.610t.org/FreeBSD/ScratchBSD.files/microbit-Scratch.png
Squeak+Gainer: デーモンくんヨロコビ棒
http://qml.610t.org/FreeBSD/furoku2013.files/squeak_gainer.png
Coldfire(3軸加速度センサー)+OpenGL: グルグル棒
https://gyazo.com/7c4a56048474625ee766855986285e59
ウラ話
ports/216811 New port lang/scratch: block based programing language using for educational purposeが入らないorz もうすぐScratch 3.0 (HTML5; beta) も出て、2.0 (flash) も終わるのに、1.4 (Squeak/Smalltalk) … Squeakで、ペイントが使えなくなっているorz
Coldfireくんは、よく気絶します
参考文献
おわりに
K*BUGブースで展示してます!!
遊びに来てね!!
https://gyazo.com/6eb46c49dba4d52b07b2b3583c5d892a